home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-08-21 | 4.2 KB | 132 lines | [TEXT/MPS ] |
- ============
- Instructions
- ============
-
- The new build system fixes a couple short-comings of the older one. These are
- the hardcoded paths for the Rez build, the unpredictable -e build, and the
- ability to add new compilers with minimal suffering.
-
- In order to take advantage of the new build system, you will want to make
- several changes to your makefile.
-
- •1•
- Remove the dependency rules for the OpenDoc Utility files. Each utility
- implementation files has a default dependency rule which is included as
- part of a build.
-
- •2•
- Change any hardcoded names in your root targets to {TargetName}.
- ( not necessary for .exp files )
-
- <before>
- BUILDREZ ƒ ∂
- "{ObjectsDir}SamplePart.PPC.rsrc" ∂
- "{ObjectsDir}SamplePart.68k.rsrc"
-
- <after>
- BUILDREZ ƒ ∂
- "{ObjectsDir}{TargetName}.PPC.rsrc" ∂
- "{ObjectsDir}{TargetName}.68k.rsrc"
-
- •3•
- Change "ILink" and "PPCLink", in you link build rules, to {LinkTool}.
-
- The linker used for each compiler is now defined in the compiler variables
- files.
-
- •4•
- Change "MakeSym" and "ILinkToSym", in you link build rules, to {SymTool}.
-
- The symbol file tool used for each compiler is now defined in the compiler
- variables files.
-
- •5•
- Change any hardcoded names in your link rules to {TargetName}.
-
- <before>
- Echo "include ∂"{RsrcObjectsDir}SamplePart.68k.rsrc∂";" | Rez -a -o "{TargetDir}{TargetNameILink}"
-
- <after>
- Echo "include ∂"{RsrcObjectsDir}{TargetName}.68k.rsrc∂";" | Rez -a -o "{TargetDir}{TargetNameILink}"
-
- •6•
- Change all .rsrc files paths to use {RsrcObjectsDir} instead of {ObjectsDir}.
-
- •7•
- Remove the {XCOFFRenameOptions} from your PPCLink line.
-
- The build system automatically includes the rename options you need for the basic
- PPC libraries (including applescript and drag&drop, but not quicktime or gx).
-
- •8•
- Remove the hardcoded PPC: and 68k: from the {ObjectsDir} paths in the Rez build steps.
- •9•
- Reorder the rez commands to behave better.
- •10•
- Use {Targ} instead of "{TargetDir}{TargetNamePPCLink}", where appropriate.
-
- <before>
- Echo Rezzing: PanelEditor.r (for PPC)
- Rez {RezOptions} {ODRezIntf} "{SourceDir}"PanelEditor.r ∂
- -a -o "{ObjectsDir}PPC:"PanelEditor.PPC.rsrc
- Echo Copying: {TargetNamePPCLink}∂'s resources
- Echo "include ∂"{ObjectsDir}PPC:PanelEditor.PPC.rsrc∂";" | Rez -a -o "{TargetDir}{TargetNamePPCLink}"
- Echo "delete 'ckid';" | Rez -a -o "{TargetDir}{TargetNamePPCLink}"
-
- <after>
- Echo Rezzing: {TargetName}.r (for PPC)
- Rez {RezOptions} {ODRezIntf} "{SourceDir}"SamplePart.r -o {targ}
- Echo "delete 'ckid';" | Rez -a -o {Targ}
- SetFile -a i -c "{ResEditCreator}" -t "{ResEditFileType}" {Targ}
- if ( `exists "{TargetDir}{TargetNamePPCLink}" != ""` )
- Echo Copying: {TargetNamePPCLink}∂'s resources
- Echo "include ∂"{Targ}∂";" | Rez -a -o "{TargetDir}{TargetNamePPCLink}"
- end
-
- The Rez output will be built into the root level of the objects folder since it is not
- compiler or language dependant.
-
-
- ==========
- What's New
- ==========
-
- The new build system looks basically like the old one, except that -scpp,
- -mrcpp, etc. has been replaced by the all-encompassing "-b" (build). The system
- is also, in essence, scriptable because it can run mulitple builds from a single
- command line.
-
- In addition, the script has been renamed to more accurrately describe its single
- purpose in life, to build OpenDoc® parts.
-
- Lastly, the -fat command is now only a method for merging previously built output.
- If the targets don't exists, -fat by itself, will not drive normal builds. (see
- example #3 below)
-
- ===========
- What's Gone
- ===========
-
- The -e command is no longer valid. To force a full rebuild of all targets
- associated with a build, use -k (kill targets). The -k option is valid for the
- IDL and Rez builds, as well. (see example 2 below)
-
-
- ========
- Examples
- ========
-
- <new command line syntax>
-
- BuildOpenDocPart -b rez -f '8100:OpenDoc:SampleCode:SamplePart:SamplePart.make'
- >> will perform a Rez build as needed.
-
- BuildOpenDocPart -b idl,rez,scpp -k -f '8100:OpenDoc:SampleCode:SamplePart:SamplePart.make'
- >> will perform a full IDL build, then a full Rez build, then a full SCpp build
-
- BuildOpenDocPart -b scpp,mrcpp -fat -f '8100:OpenDoc:SampleCode:SamplePart:SamplePart.make'
- >> will perform a SCpp build, as needed, then perform a MrCpp build, as needed,
- >> then create a fat binary
-
-
-